package com.opc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.opc.dto.DeviceRecordDto;
import com.opc.dto.SelectData;
import com.opc.entity.Device;
import com.opc.entity.PageRes;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 作者
 * @since 2023-03-13
 */
public interface DeviceService extends IService<Device> {
    /**
     * 获取所有设备
     *
     * @return
     */
    List<String> selectAllDevices();

    /**
     * 获取产线
     *
     * @return
     */
    List<SelectData> getProductLine();

    /**
     * 获取记录列表 分页
     *
     * @param proLine
     * @param pageNo
     * @param pageSize
     * @return
     */
    PageRes<DeviceRecordDto> getRecordListByLine(String proLine, Integer pageNo, Integer pageSize);

    /**
     * 获取记录列表 不分页
     *
     * @param proLine
     * @return
     */
    List<List<Object>> getRecordListByLineNoPages(String proLine);

    /**
     * 获取异常消耗统计
     *
     * @return
     */
    Map<String, List<Object>> getAbnormalStatistic();

    /**
     * 获取所有产线
     *
     * @return
     */
    List<String> selectAllProLine();

    /**
     * 根据条件获取设备列表
     *
     * @param proLine
     * @param stationNum
     * @return
     */
    List<SelectData> getDeviceListByConditions(String proLine, String stationNum);
}
